package com.cskaoyan.javase.array._4operation._3curd.string;

/**
 * Java当中equals方法是非常频繁的
 * 包括String类的equals方法,它的使用也是有技巧的
 * 这里就以String类的equals方法为案例,主要的技巧有两个:
 *      1.String这个类比较特殊,它的对象除了可以写引用指向一个对象外,还可以直接写字面值常量
 *      所以对于String类的equals方法,为了避免空指针异常
 *      可以用一个字面值常量字符串来调用方法,永远不会空指针异常
 *
 *      2.当然之所以能够按照上面的方法去避免空指针异常
 *      还有一个重要原因就是equals方法具有对称性
 *      A.equalsB和B.equalsA,结果是完全一样的
 *      所以根据对称性,可以选择找一个永远不为null的引用来调用方法
 *      以此避免空指针异常
 *
 *      以上技巧1仅适用于String类
 *      技巧2适用于Java所有类中的equals方法(Java中所有的类都有equals方法)
 *
 * @since 17:35
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        // "123".equals()
        // 需求: 要求判断一个字符串是不是空的""
        String s = "123";
        s = null;
        // System.out.println(s.equals(""));
        System.out.println("".equals(s));
    }
}
